package com.example.icongyou.api;


import com.example.icongyou.bean.ChapterResource;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;

/**
 * 对应后端 ChapterResourceController 的 RESTful API 接口定义
 * 基础路径: /api/chapter_resources
 */
public interface ChapterResourceApi {

    // POST /api/chapter_resources - 上传/创建资源记录
    // 后端返回创建成功的 ChapterResource 对象 (包含生成的 resourceId)
    @POST("api/chapter_resources")
    Call<ChapterResource> createResource(@Body ChapterResource resource);

    // GET /api/chapter_resources/chapter/{chapterId} - 根据章节 ID 查询所有资源
    @GET("api/chapter_resources/chapter/{chapterId}")
    Call<List<ChapterResource>> getResourcesByChapterId(@Path("chapterId") Integer chapterId);

    // GET /api/chapter_resources/{id} - 根据资源 ID 查询单个资源
    @GET("api/chapter_resources/{id}")
    Call<ChapterResource> getResourceById(@Path("id") Integer resourceId);

    // PUT /api/chapter_resources/{id} - 更新资源信息
    @PUT("api/chapter_resources/{id}")
    Call<String> updateResource(
            @Path("id") Integer resourceId,
            @Body ChapterResource resourceDetails
    );
    // 后端返回 String 消息

    // DELETE /api/chapter_resources/{id} - 删除资源记录
    @DELETE("api/chapter_resources/{id}")
    Call<Void> deleteResource(@Path("id") Integer resourceId);
    // 后端返回 204 No Content，使用 Call<Void>
}
